Unity、C♯でXcodeのプロジェクトを改変する奴
概要
XCodeEditor-for-Unity というのに関してつぶやいてる方が居たので、使ってみた。
Unityが吐き出すXcodeプロジェクトにいろいろ書き込む奴。
最初、XcodeでUnity用の.csのコードとかを編集するのを可能にしたのか?! と戦慄したんだけど、違った。
よかった、狂気に魅せられた人は居なかったんだな、、!!
XCodeEditor-for-Unity
オリジナル
https://github.com/dcariola/XCodeEditor-for-Unity
4.5で動くようにちょこちょこ手を加えられている方のフォーク(プルリクマージされるといいのに、、)
https://github.com/kyubuns/XCodeEditor-for-Unity
で、せっかくなのでそのまま動かせるサンプル込みのフォークを作った。
こちら。
https://github.com/sassembla/XCodeEditor-for-Unity
何ができるのか
PythonでXcodeのプロジェクトにいろいろやるやつあるじゃないですか、アレ。ほらアレ。
pbxproj
https://github.com/kronenthaler/mod-pbxproj
これと同じようなことができそうな感じ。
pbxproj と比べてなにがうれしいかというと、上記をつかうにはPythonのスクリプトを書く必要があって、これがいろんな要因でいい感じに妖刀化するので、
そのへんをせめてC♯でなんとかできないかなーというあたり。
妖刀化する要因
Unityの仕様上、拡張子無しの PostprocessBuildPlayer ファイルを作ったらそれが使用されるんだけどさ。
http://docs-jp.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html
こいつの中で、上記のpbxprojを使ってXcodeの書き換えとかよくやるんだけど。
以下の要因で困ることが多い。
・サードパーティーのやつが使ってて、殴り合うのが面倒くさい(っていうか使う側のコト考えたらよォーーー使わねーーのが優しさなんじゃネェーかァーー? ァァーー?
・コンパイルに巻き込まれないから全体像が見にくい
・ログ出ししにくくて失敗をフックしづらい
このへんがC♯で済めば、まあUnityの機構との親和性でだいたい解決できるし、
悪手を生成しないで済むようになるよね。
という。
サンプルを使ってiOS向けのビルドした奴のビフォーアフター置いとく
Before
After
Servicesにちゃんとlibsqlite3.dylibのリンクが入りましたねっていう。